package functions;

import main.ContingencyTable;

public class CertaintyFunction extends GeneralFunction {

	public CertaintyFunction(String name) {
		super(name);
	}

	@Override
	public double calculate(ContingencyTable t) {
		return Math.max((pYgX(t) - pY(t)) / (1 - pY(t)), (pXgY(t) - pX(t)) / (1 - pX(t)));
	}

	private double pX(ContingencyTable t) {
		return t.f1p() / t.N();
	}
	
	private double pY(ContingencyTable t) {
		return t.fp1() / t.N();
	}
	
	private double pXgY(ContingencyTable t) {
		return t.f11() / t.fp1();
	}
	
	private double pYgX(ContingencyTable t) {
		return t.f11() / t.f1p();
	}

//	@Override
//	public double calculate(ContingencyTable t) {
//		return (((t.f11() / t.f1p()) - (t.fp1() / t.N())) / (1 - (t.fp1() / t
//				.N())));
//	}

}
